"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/2/11 10:32
@Description :   python中常见的数据类型
  变量没有数据类型 但是值有数据类型   变量的类型取决于值的类型    动态变量
  数值型
      整型   int
      浮点型  float
  字符串    str
      ''   ""
  布尔类型   bool
      True 1    False  0
"""

int_num = 1
print(f'{int_num}的数据类型是{type(int_num)}')

float_num = 1.2
print(f'{float_num}的数据类型是{type(float_num)}')

# str_info ='hello'
str_info = "hello"
print(f'{str_info}的数据类型是{type(str_info)}')

bl_info = True
print(f'{bl_info}的数据类型是{type(bl_info)}')

'''
   用户输入两个数字 计算数字的和
'''
#  str -> int
#  通过input接收的数据 默认数据类型为 str
num1 = int(input('请输入第一个数字：'))
print(f'num1的数据类型是 {type(num1)}')
num2 = int(input('请输入第二个数字：'))
print(f'num2的数据类型是 {type(num2)}')
# 求和   str + str  字符串拼接  '1'+'2' = '12'
result = num1 + num2
print(f'result的数据类型是 {type(result)}')
print(f'{num1}+{num2}={result}')

'''
   目前变量有不同的数据类型，在某些应用场景下，数据类型之间需要进行转换
   str  ->  int
   float -> int
   bool -> int
'''
print('*' * 20)
float_num = 1.6
print(type(float_num))
#  float -> int
int_num = int(float_num)
print(type(int_num))
print(int_num)

# bool -> int
bool_num = False
int_num = int(bool_num)
print(type(int_num))
print(int_num)

print('*' * 20)
'''
   其它类型转str
   int
   float
   bool
'''

int_num = 1
str_result = str(int_num)
print(str_result, type(str_result))

float_num = 1.6
str_result = str(float_num)
print(str_result, type(str_result))

bool_num = False
str_result = str(bool_num)
print(str_result, type(str_result))

print('*' * 20)
'''
     其它类型转bool
     str     非空即true
     int     非零即true
     float   非零即true
'''

# str_info = "hello"
str_info = ""
bool_result = bool(str_info)
print(bool_result, type(bool_result))

int_num = 0.1
bool_result = bool(int_num)
print(bool_result, type(bool_result))
